home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 2 / Gold Medal Software Volume 2 (Gold Medal) (1994).iso / comms / ymod15_4.arj / YMODEM.DOC < prev    next >
Text File  |  1993-06-23  |  55KB  |  1,329 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.                              Ymodem Rev 14.02
  23.  
  24.                       Copyright (c) 1989, 90, 91, 92, 93
  25.                                      By
  26.                        International TeleCommunications
  27.                               ALL RIGHTS RESERVED
  28.  
  29.  
  30.  
  31.                     Table Of Contents
  32.  
  33. Limited Warranty .......................................... Page   1
  34. Distribution Policy And Copyright ......................... Page   1
  35.    Copyright .............................................. Page   1
  36.    -- Test-Drive Distribution Policy -- ................... Page   2
  37. Introduction .............................................. Page   2
  38. Ymodem Command Line Switches .............................. Page   3
  39.    /X ..................................................... Page   3
  40.    /R ..................................................... Page   4
  41.    /U ..................................................... Page   4
  42.    /S ..................................................... Page   5
  43.    @ ...................................................... Page   5
  44.    /O ..................................................... Page   6
  45.    /N ..................................................... Page   6
  46.    /P ..................................................... Page   6
  47.    /V ..................................................... Page   6
  48.    /G ..................................................... Page   6
  49.    /B ..................................................... Page   8
  50.    /L ..................................................... Page   8
  51.       Environment Lock Variable ........................... Page   9
  52. Required Switches ......................................... Page   9
  53.    Your Ymodem Batch Receive Batch File ................... Page   9
  54.    Your Ymodem-G Receive Batch File ....................... Page  10
  55.    Your Ymodem Batch Send Batch File ...................... Page  10
  56.    Your Ymodem-G Send Batch File .......................... Page  10
  57. Error Levels .............................................. Page  11
  58. Bbs/Terminal Programs ..................................... Page  11
  59. Serial Drivers And Multi-Port Cards ....................... Page  11
  60.    Intelligent Multi-Port Stargate ........................ Page  12
  61.    Intelligent Multi-Port Arnet ........................... Page  12
  62.    Intelligent Multi-Port Digiboard ....................... Page  13
  63.    Fossil ................................................. Page  13
  64.    Non-Intelligent Serial Cards ........................... Page  13
  65.    Non-Intelligent Digiboards ............................. Page  13
  66.       Setting Up  The Digi Pc/4 Board ..................... Page  14
  67.          Setting The Jumpers .............................. Page  14
  68.          Multi-Board Connectors ........................... Page  15
  69.          Dip Switches ..................................... Page  15
  70.       Setting Up A Digiboard Pc/8 ......................... Page  16
  71.          Setting The Jumpers .............................. Page  16
  72.          Multi-Board Connectors ........................... Page  17
  73.          Dip Switches ..................................... Page  17
  74.       Setting Up The Digiboard Pc/16 ...................... Page  18
  75.    Non-Intelligent Stargate ............................... Page  20
  76.    Non-Intelligent Ast .................................... Page  20
  77.    Non-Intelligent Boca ................................... Page  21
  78. 8259 Interrupt Management ................................. Page  21
  79. Registering Ymodem ........................................ Page  22
  80. Ymodem License ............................................ Page  24
  81.          Ymodem          Technical Reference Manual          Page   1
  82.  
  83.                              Limited Warranty
  84.  
  85.          This   products provided "as is" without  warranty   of   any
  86.          kind.   The entire risk as to the results and performance  of
  87.          the  program  is assumed by you.  Should  the  program  prove
  88.          defective,  you  (and not International TeleCommunications  )
  89.          assume the entire cost of all necessary  servicing, repair or
  90.          correction.   Further, International TeleCommunications  does
  91.          not warrant, guarantee, or make representations regarding the
  92.          use of, or the results of the use of this program in terms of
  93.          correctness,    accuracy,   reliability,   currentness,    or
  94.          otherwise;  and  you  rely on the program  and  its   results
  95.          solely   at  your own risk.  International TeleCommunications
  96.          cannot  accept   responsibility for system  damage,  loss  of
  97.          profit,   or   any    other    special,    incidental,     or
  98.          consequential damage  resulting  from  the use or   inability
  99.          to  use  this product.
  100.  
  101.          International  TeleCommunications  DOES   warrant   to    the
  102.          original  licensee of a REGISTERED product that  the  program
  103.          disk(s)  on which  the  program  is  recorded be  free   from
  104.          defects   in materials and workmanship under normal  use  and
  105.          service  for  a period  of  ninety  (90) days from  the  date
  106.          of   delivery   as  evidenced  by  a copy  of  your  receipt.
  107.          International  TeleCommunications' entire liability and  your
  108.          exclusive  remedy  shall  be replacement  of  the   disk  not
  109.          meeting  International TeleCommunications Limited Warranty.
  110.  
  111.                        Distribution Policy And Copyright
  112.  
  113.                                    Copyright
  114.  
  115.               Despite  the method of marketing, Ymodem is not in   the
  116.               public  domain.    It  is the  proprietary  property  of
  117.               International  TeleCommunications.    All   rights   are
  118.               reserved.      Copying,  duplicating,     selling     or
  119.               otherwise    distributing    this product    except   as
  120.               expressly   permitted  in the   TEST-DRIVE  Distribution
  121.               Policy  below   is a  violation  of  the  Law.  However,
  122.               we grant you  the right,  in fact encourage you  to make
  123.               and  distribute as  many copies   of   this   TEST-DRIVE
  124.               version   as   you    wish,   using    any    acceptable
  125.               medium  of exchange, with the following provisions:
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.          Ymodem          Technical Reference Manual          Page   2
  137.  
  138.                      -- Test-Drive Distribution Policy --
  139.  
  140.           1.   Please feel free to distribute this TEST-DRIVE version as
  141.                often as you like, to any interested parties.
  142.           2.   Please do not distribute the program without all of its
  143.                original related files, addendum files, and documentation.
  144.           3.   Please obtain our written permission prior to distribution
  145.                with any "Bundled" software packages.
  146.           4.   Please do not accept payment for the program; a copying fee of
  147.                $10.00 per diskette may be charged when distributed by a
  148.                non-profit user-group.
  149.           5.   Please do not alter the program or documentation in any
  150.                manner.
  151.           6.   NOTE - Individuals, groups, vendors, or other software
  152.                distribution companies which market diskettes containing
  153.                the TEST-DRIVE programs for profit must obtain written
  154.                permission from International TeleCommunications prior to
  155.                distribution.
  156.  
  157.                                     Introduction
  158.  
  159.               Ymodem.exe  is a full function stand alone  True  Ymodem
  160.               Batch and Ymodem-G protocol driver.
  161.  
  162.               Ymodem.exe offers exceptional fast Ymodem-G file transfers
  163.               as  well as standard Ymodem Batch. Ymodem.exe  is  FULLY
  164.               DSZ compatibable and supports 8259 interrupt management,
  165.               and  a  wide range of  intelligent  and  non-intelligent
  166.               serial  cards (also support Fossil and has  an  internal
  167.               driver).
  168.  
  169.               Ymodem.exe  is  one  of the fastest  (we've  been  told)
  170.               Ymodem-G drivers you are likely to find.
  171.  
  172.               It  is  the only stand alone Ymodem driver  that  offers
  173.               support for such a WIDE range of serial cards as well as
  174.               8259 interrupt managment (faster transfers).
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.          Ymodem          Technical Reference Manual          Page   3
  192.  
  193.                           Ymodem Command Line Switches
  194.  
  195.          Each  switch must be preceded by either a forward slash   '/'
  196.          or a dash '-'.
  197.  
  198.          O   OverThrust.
  199.          V   Engage ANTI-PMS Screen, For Use With Osiris BBS Only.
  200.          X   Use RTS flow control.
  201.          @   Use Send Control File.
  202.          U   Place Uploads In This Directory.
  203.          R   Receive Files
  204.          N   Osiris Node Number, Osiris BBS Only.
  205.          L   Lock Serial Rate.
  206.          B   Connect Baud Rate.
  207.          P   Serial Port.
  208.          S   Send These Files.
  209.          G   Ymodem-G mode.
  210.          T   TimeSlicing.
  211.  
  212.                                          /X
  213.                                 9600 bps and higher
  214.                                    Slow Computer
  215.  
  216.               If   you have a high speed modem you MUST have a   16550
  217.               Uart. Attempting  to run at high speeds without one will
  218.               result  in errors.
  219.  
  220.               You  might sneak by without a 16550 if you have a   fast
  221.               386, or 486.
  222.  
  223.               A  good way to check is by watching your  transfers.  If
  224.               you  are under  an  error correcting connect,  then  you
  225.               should   almost  NEVER  get an  error  reported  by  ANY
  226.               transfer protocol.
  227.  
  228.               Getting   errors  reported (by ANY  transfer   protocol)
  229.               while under  MNP  or  ARQ  can only mean.
  230.  
  231.               1.  The protocol goofed (Ymodem doesn't goof).
  232.               2.  You   may  have another   application   interfering
  233.                   with serial interrupts.
  234.               3.  You have hardware problems.
  235.               4.  You do not have a 16550 Uart.
  236.  
  237.  
  238.               If   you have a 16550 installed, then you can  rule  out
  239.               number four  and that leaves you with two or three.
  240.  
  241.               If you have a multi-tasker or a network and a 16550 then
  242.               the network and/or multi-tasker is stealing to much time
  243.               and  the 16550 fifo's are being over run.
  244.  
  245.  
  246.          Ymodem          Technical Reference Manual          Page   4
  247.  
  248.               If you have a 16550 and NOTHING else that may  interfere
  249.               with  the   serial  interrupts,  then  you   more   than
  250.               likely  have hardware problems.
  251.  
  252.               If  it is option 4, buy one and install it. 16550  uarts
  253.               cost about $20.00 and are WELL worth it.
  254.  
  255.               Unless   you   have  hardware problems, I can  HELP  you
  256.               by  kicking   in RTS flow control. This does  slow  down
  257.               transfers,  but  it  is better to slow  them  DOWN  than
  258.               experience errors.
  259.  
  260.               If   you have to, add /S to the command line.  But  only
  261.               use   it if  you  HAVE  to and only until you  fix   the
  262.               CAUSE  of  the problem.
  263.  
  264.                                          /R
  265.                                    Receive Files
  266.  
  267.               When   I  encounter  this switch, I  will  go   directly
  268.               to receive files mode.
  269.  
  270.               You   MUST  make sure that /R is the  very  last  switch
  271.               used.  If it  is not, then you will be missing important
  272.               command  line switches.
  273.  
  274.                                          /U
  275.                        Place inbound files in this directory
  276.  
  277.               You   can  direct Ymodem to place inbound  files  in   a
  278.               specific directory by using the /U command.
  279.  
  280.               I will verify the directory you specified, so make  sure
  281.               it is a VALID directory.
  282.  
  283.               You   cannot use Drive  designators or ROOT  directories
  284.               with the /U switch.
  285.  
  286.               For   instance,    /UC:  or  /UC:\. C:  and  C:\  aren't
  287.               listed in the FAT and I cannot validate them.
  288.  
  289.               Make   sure  you do NOT use a trailing   backslash  with
  290.               the   /U path, I'll ADD a backslash when I concate   the
  291.               file name with the path you specified.
  292.  
  293.               E.g., d:\uploads\ is NOT valid, it should be  d:\uploads
  294.               Here    is   a   sample   of   a   GOOD   /U    setting:
  295.               /UC:\TELIX\UPLOADS
  296.  
  297.  
  298.  
  299.  
  300.  
  301.          Ymodem          Technical Reference Manual          Page   5
  302.  
  303.                                          /S
  304.                                   Send These Files
  305.  
  306.               When   I   find  the  /S,  I  will  immediately    begin
  307.               sending.
  308.  
  309.               YOU   should  make  sure that you have listed  ALL   the
  310.               OTHER commands  before using /S. Make sure you place ONE
  311.               blank  space  between  the  /S  switch  and  the   first
  312.               filename.
  313.  
  314.               Place one blank space between ADDITIONAL files names, if
  315.               you  have  specified more than one. You  may  include  a
  316.               drive and path with the file names.
  317.  
  318.               E.g.,  c:\uploads\file1.exe is a valid file name.
  319.  
  320.               You can use the DOS wild card characters '?' and '*'.  I
  321.               will  expand  those  characters to match  any  file   in
  322.               that directory.
  323.  
  324.               I   do   not place limits on the number of files    that
  325.               can  FOLLOW  /S,  but  DOS DOES! DOS    restricts    the
  326.               number  of characters you can place  on  a command  line
  327.               to 128.
  328.  
  329.               DOS   also limits you to nine batch parameter   symbols,
  330.               %1 through %9.
  331.  
  332.                                          @
  333.  
  334.               I'll assume USE this file as  a  "SEND"  control file.
  335.  
  336.                    e.g. -@D:\OSIRIS\SEND2.CTL
  337.  
  338.               Since   DOS forces me to work with 128 and   nine  batch
  339.               variables,  using  @  to  send   file   names   is   the
  340.               preferred method of passing the names.
  341.  
  342.               The  information following  @ is the full  drive,  path,
  343.               and file name of a TEXT file.
  344.  
  345.               I   do  not place restrictions on the  number  of  files
  346.               that you  can  have listed and you can include the  full
  347.               drive,   path,  along  with name of the  file.  You  can
  348.               include DOS wild card characters, '?' and '*'.
  349.  
  350.                    E.g., C:\PCboard\Tlx310a.exe is valid.
  351.                    E.g., C:\Telix\*.arj is valid.
  352.  
  353.               Each line in the file must contain only ONE filename and
  354.               has to end with the DOS CR/LF sequence.
  355.  
  356.          Ymodem          Technical Reference Manual          Page   6
  357.  
  358.               Sample Send Control File:
  359.  
  360.               C:\DRIVERS\MPT110.ZIP
  361.               C:\DRIVERS\TMOD610.ARJ
  362.               C:\DRIVERS\ZMOD*.*
  363.  
  364.                                          /O
  365.                                DSZ Compatible OverThrust
  366.  
  367.               This is a WINDOWED type of Ymodem Batch, slightly faster
  368.               than  standard  Ymodem Batch but slower  than  Ymodem-G.
  369.               OverThrust will only work if you are running 9600 bps or
  370.               faster.
  371.                                          /N
  372.                                     Node Number
  373.  
  374.               If    you're  running OSIRIS, you can include   /Nx   on
  375.               the command line.
  376.  
  377.               E.g., /N1  /N2  /N3  . . .  /N255
  378.  
  379.               Add /N*N to your protocol command lines.
  380.  
  381.               I'll    display the callers name, city, and  state    at
  382.               the bottom of the screen, useful when you walk into  the
  383.               room  and WONDER who  is currently downloading what.
  384.  
  385.                                          /P
  386.                                       Com Port
  387.  
  388.               You   have to tell me which serial port your  caller  is
  389.               ON  by including /Px on the command line.
  390.  
  391.               E.g., /P1  /P2  /P3  . . .  /P8
  392.  
  393.                                          /V
  394.                                 Engage PMS Screening
  395.  
  396.               This   can ONLY be used on an OSIRIS system. This  tells
  397.               me   to allow  Osiris  to monitor the serial  port  with
  398.               its   ANTI-PMS  screening  system.
  399.  
  400.                                          /G
  401.                                    Ymodem-G mode
  402.  
  403.               Switches From YMODEM-Batch to Ymodem-G mode.
  404.  
  405.               Despite   some   Modem   Manufactures   miss    informed
  406.               statements,  Ymodem-G DOES have 16 bit error  detection,
  407.               it  just  ABORTS  the transfer  when  an  error  occures
  408.               instead of trying to resend the bad block.
  409.  
  410.  
  411.          Ymodem          Technical Reference Manual          Page   7
  412.  
  413.                                    -T<D,W,O>
  414.  
  415.               This  governs  the  TYPE of time  slicing  the  protocol
  416.               driver will use. Leaving off the -T switch means no time
  417.               slicing.
  418.  
  419.               D= Desqview or Topview
  420.               W= Windows
  421.               O= OS-2
  422.  
  423.               E.g. -TD, -TW, -TO
  424.  
  425.               While time slicing does reduce the drain on your CPU  it
  426.               may,  depending  on  the  multitasker  (OS-2,   Windows,
  427.               Topview, or Desqview) and your hardware, greatly  reduce
  428.               transfer rates.
  429.  
  430.               Despite   the  term  "Multitasking",   multitasking   is
  431.               impossible using a single CPU. The CPU can only  process
  432.               a single instruction (2 integer instructions if the  new
  433.               Intel  P5  chip is used) at once.  Multitasking  with  a
  434.               single CPU is nothing more than quickly swapping in  and
  435.               out  programs giving each a short period of time to  run
  436.               before swapping in another one.
  437.  
  438.               For  instances,  when  Windows  swaps  away  it  freezes
  439.               everything in that windows and this includes ANY  device
  440.               drivers  or interrupt service routines. If you  use  the
  441.               internal serial driver, it to is frozen and cannot  send
  442.               data that may be in the transmit buffer.
  443.  
  444.               While all multitaskers do this, some are more  efficient
  445.               than  others. Some will give interrupt  services  higher
  446.               priority  than  other tasks and allow them to  use  much
  447.               more CPU time. Even if the application only gets  access
  448.               to  the CPU once ever oh . . . 9 clock  tics,  interrupt
  449.               routines used by that application may get access to  the
  450.               CPU every 2 clock tics. This is sometimes referred to as
  451.               multi-threading.
  452.  
  453.               There  are  conditions when it doesn't  matter  how  the
  454.               multitasker  works.  For instances,  intelligent  serial
  455.               cards.
  456.  
  457.               If  you  have  an intelligent serial  card,  it  handles
  458.               sending  the data and the multitasker does not  stop  it
  459.               from doing so by swapping out the window. In this  case,
  460.               always use -Time slicing.
  461.  
  462.  
  463.  
  464.  
  465.  
  466.          Ymodem          Technical Reference Manual          Page   8
  467.  
  468.  
  469.               Fossil drivers can sometimes get around this if they are
  470.               loaded    BEFORE   the   multitasker.   However,    some
  471.               multitaskers will not allow dual access, from  different
  472.               windows, to the fossil.
  473.  
  474.               To determine if your system works better with or without
  475.               time slicing, testing is the only way.
  476.  
  477.               Do uploads and downloads using time slicing and  without
  478.               using  time slicing. If you run a single  node,  compare
  479.               the transfer rates.
  480.  
  481.               If you run multiple nodes, it gets more involved.  After
  482.               getting  the  first set of figures,  repeat  the  entire
  483.               process but make sure you have someone doing the uploads
  484.               and downloads on ALL nodes at once. THEN compare ALL the
  485.               transfer  rates. Doing multiple transfers at  once  DOES
  486.               effect  the  outcome. You may find that  while  transfer
  487.               rates  drop drastically when a single download is  going
  488.               on,  they  may  actually go up when  you  have  multiple
  489.               transfers going at once.
  490.  
  491.               When you are doing the tests, keep in mind that transfer
  492.               rates WILL vary, but only a little bit. Look for the big
  493.               differences and don't worry about 1 to 3 percent.
  494.  
  495.  
  496.                                          /B
  497.                                  Connect Baud Rate
  498.  
  499.               You have to provide the TRUE CONNECT RATE, most  of  the
  500.               time this is the same as your SERIAL baud rate.
  501.  
  502.               e.g. /B1200  /B2400  /B9600
  503.  
  504.               If you have a high speed modem with a FIXED serial rate,
  505.               the CONNECT  rate may not always be the same, but   that
  506.               doesn't  change  anything. You still  should  pass   the
  507.               TRUE connect  rate and not the SERIAL rate.
  508.  
  509.                                       /L
  510.                                    Lock Rate
  511.  
  512.               This tells me you have a LOCKED Serial Port.
  513.  
  514.               E.g.
  515.  
  516.               /L38400
  517.               /L57600
  518.               /L19200
  519.  
  520.  
  521.          Ymodem          Technical Reference Manual          Page   9
  522.  
  523.                                 Environment Lock Variable
  524.  
  525.                    You can define an  environment    variable   called
  526.                    COMx=BaudRate.  Replace  x  with the   serial  port
  527.                    number   and BaudRate with the  LOCKED  baud rate.
  528.  
  529.                    e.g. COM1=19200
  530.  
  531.                    Do  NOT add blank spaces or comma's. Make sure  you
  532.                    use  Upper Case.
  533.  
  534.                    You can do that in the AUTOEXEC.BAT file or in  the
  535.                    BATCH file you use to CALL Ymodem.
  536.  
  537.                    e.g.
  538.  
  539.                    cls
  540.                    SET COM2=38400
  541.                    Ymodem -B%1 -P%2 -R
  542.                    Exit
  543.  
  544.                                Required Switches
  545.  
  546.          Each  Ymodem installation will require TWO switches. It  does
  547.          not matter  what type of BBS/Terminal program you're going to
  548.          use.
  549.  
  550.          It does not matter if it is SEND or RECEIVE.
  551.  
  552.          /Bxxxxx and /Px
  553.  
  554.          You  should  replace   xxxxx  in  the /B  with   the  correct
  555.          CONNECT rate or 0. Replace the x in /P with  the correct  COM
  556.          port.
  557.  
  558.          /B9600 /P2  (Connect Rate 9600, COM 2)
  559.          /B2400 /P1  (Connect Rate 2400, COM 1)
  560.  
  561.          It is not important WHERE you place the switches, as long  as
  562.          they are NOT the LAST switch used.
  563.  
  564.                         Your Ymodem Batch Receive Batch File
  565.  
  566.               Your   Receive   Batch  file  will  require   only   one
  567.               additional switch, /R.
  568.  
  569.               It MUST be the very last switch on the command line.
  570.  
  571.               The  MINIMUM command line for receiving would be:
  572.  
  573.               Ymodem /B2400 /P1 /R
  574.  
  575.  
  576.          Ymodem          Technical Reference Manual          Page  10
  577.  
  578.               2400  and  1 can  be supplied by DOS  batch   variables,
  579.               e.g. Ymodem /B%1 /P%2 /R
  580.  
  581.               Other    optional   switches must   be  included  BEFORE
  582.               the /R switch.
  583.  
  584.                           Your Ymodem-G Receive Batch File
  585.  
  586.               Your   Receive   Batch  file  will  require   only   two
  587.               additional switches, /R and /G.
  588.  
  589.               The  MINIMUM command line for receiving would be:
  590.  
  591.               Ymodem /G /B2400 /P1 /R
  592.  
  593.               2400  and  1 can  be supplied by DOS  batch   variables,
  594.               e.g. Ymodem /G /B%1 /P%2 /R
  595.  
  596.               Other    optional   switches must   be  included  BEFORE
  597.               the /R switch.
  598.  
  599.                          Your Ymodem Batch Send Batch File
  600.  
  601.               Your  "SEND" batch file only "requires"  ONE  additional
  602.               switch, /S or -@.
  603.  
  604.               The MINIMUM command line for sending a file:
  605.  
  606.               /B2400 /P2 /S FILENAME#1 FILENAME#2 FILENAME#3
  607.  
  608.               or
  609.  
  610.               /B2400 /P2 -@CTRL_NAME
  611.  
  612.               2400,   2,  FILENAME#1, FILENAME#2,   FILENAME#3,   etc.
  613.               may  be supplied by  DOS  batch variables.
  614.  
  615.               E.g., Ymodem /B%1 /P%2 /S %3 %4 %5 %6 %7 %8 %9
  616.  
  617.                            Your Ymodem-G Send Batch File
  618.  
  619.               Your  "SEND" batch file only "requires"  TWO additional
  620.               switch, /G, {/S or -@}.
  621.  
  622.               The MINIMUM command line for sending a file:
  623.  
  624.               /G /B2400 /P2 /S FILENAME#1 FILENAME#2 FILENAME#3
  625.  
  626.               or
  627.  
  628.               /G /B2400 /P2 -@CTRL_NAME
  629.  
  630.  
  631.          Ymodem          Technical Reference Manual          Page  11
  632.  
  633.  
  634.               2400,   2,  FILENAME#1, FILENAME#2,   FILENAME#3,   etc.
  635.               may  be supplied by  DOS  batch variables.
  636.  
  637.               E.g., Ymodem /G /B%1 /P%2 /S %3 %4 %5 %6 %7 %8 %9
  638.  
  639.                                 Error Levels
  640.  
  641.          I  will  exit,  following the transfer, with  an error  level
  642.          of 0  or  1.
  643.  
  644.          Zero,  0,  indicates  a  successful  transfer  and  one,   1,
  645.          indicates an error.
  646.  
  647.                              Bbs/Terminal Programs
  648.  
  649.          I  use  a very basic command line setup  which  should  allow
  650.          Ymodem to be used by almost any program.
  651.  
  652.          I do NOT expect that it will work with EVERYTHING.
  653.  
  654.          If  you are using something that it will just flat  not  work
  655.          with then send it to me.
  656.  
  657.          You  can upload it or mail it and I will attempt to find  out
  658.          why.
  659.  
  660.                       Serial Drivers And Multi-Port Cards
  661.  
  662.          Ymodem  supports  Intelligent multi-port serial  cards,  non-
  663.          intelligent  multi-port  serial cards, fossils,  and  has  an
  664.          internal  serial driver (fastest method of dealing  with  the
  665.          serial port).
  666.  
  667.          Ymodem  defaults to the  internal high speed driver, but  you
  668.          can  change the driver type by using the use the  environment
  669.          variable COMDRV, ONLY AVAILABLE IN REGISTERED VERSION.
  670.  
  671.          COMDRV=FOSSIL
  672.  
  673.          {Intelligent Serial Cards}
  674.  
  675.          COMDRV=STARGATE
  676.          COMDRV=DIGI
  677.          COMDRV=ARNET
  678.  
  679.          {Non-Intelligent Serial Cards}
  680.  
  681.          COMDRV=NDIGI
  682.          COMDRV=NSTARGATE
  683.          COMDRV=AST
  684.          COMDRV=BOCA
  685.  
  686.          Ymodem          Technical Reference Manual          Page  12
  687.  
  688.                           Intelligent Multi-Port Stargate
  689.  
  690.               Load  the  Star  Gate device driver,  ACL.SYS,  in  your
  691.               config.sys.  When  your  system  boots,  run  ACLDL   to
  692.               download your code.
  693.  
  694.               Ymodem  defaults to the 16 port with the I/O address  of
  695.               0x200  at D000:000 starting at COM 5. If  your  hardware
  696.               doesn't  match this, you'll need to create a  SERIAL.CFG
  697.               control file in SAME directory that houses Ymodem.Exe or
  698.               re-configure your stargate board.
  699.  
  700.               SERIAL.CFG for STARGATE Intelligent Multi-port Cards:
  701.  
  702.               The  first line of this file should contain 5  settings,
  703.               separated by a single space.
  704.  
  705.               BOARD BOARD_SEGMENT PORT FIRST_PORT_NUMBER NUMBER_OF_PORTS
  706.  
  707.               Board:  Stargate  board to use (0 - 3).  This  tells  us
  708.               which board you want to use.
  709.  
  710.               Board_segment:  Segment of the Star Gate board's  memory
  711.               window.
  712.  
  713.               Port: The Address of the board's I/O latch.
  714.  
  715.               First_port_number:  Name given to the first port on  the
  716.               board  (1,2,3,etc). The designation of the  port  number
  717.               for the first port on the board is arbitrary.
  718.  
  719.               Number_of_ports: Number of ports on the board.
  720.  
  721.               Example:
  722.  
  723.               {SERIAL.CFG}
  724.  
  725.               0 0xd000 0x300 4 8
  726.  
  727.                             Intelligent Multi-Port Arnet
  728.  
  729.               When  you  load  the Arnet device  driver,  port  number
  730.               assignments  are printed on the display. These  are  the
  731.               number you'd use for the Ymodem serial port parameter.
  732.  
  733.               Use  the /N5 switch on ASP.SYS. If you do not  use  this
  734.               switch,  attempts to set handshaking will result  in  an
  735.               error.
  736.  
  737.               The  files, box.bin and fastbios.bin, supplied with  the
  738.               Arnet boards, must be in your root directory for this to
  739.               work  properly. These files are used by ASP.SYS at  boot
  740.               time.
  741.          Ymodem          Technical Reference Manual          Page  13
  742.  
  743.                           Intelligent Multi-Port Digiboard
  744.  
  745.               Run  the Digiboard config. program (XIDOSCFG.EXE)  which
  746.               asks you for the desired port numbers. Also, install the
  747.               device  driver  supplied with the board. You  must  also
  748.               complete the following steps:
  749.  
  750.               1. Set up the board NOT to use interrupts.
  751.  
  752.               2. Setup to support INT 0x14 for most drivers and  EBIOS
  753.               for the XIDOS5 driver.
  754.  
  755.               3.  Change  the configuration to enable ports,  if  your
  756.               driver  requires  it. Make sure "NONE" is  the  selected
  757.               handshaking for ports.
  758.  
  759.               4.  Reboot  your  system. During the  boot,  the  driver
  760.               should   respond   with   the   message    "successfully
  761.               initialized board".
  762.                                        Fossil
  763.  
  764.               Any  fossil  driver will work.  See  documentation  that
  765.               comes with the fossil driver for details.
  766.  
  767.                             Non-Intelligent Serial Cards
  768.  
  769.               Non-Intelligent  boards  frequently  come  with   device
  770.               driver  software. This software provides INT 14H  access
  771.               to  the  UART on the board.
  772.  
  773.               Do N O T use this software with Ymodem. Ymodem  accesses
  774.               the  hardware directly without the use of  any  external
  775.               drivers.
  776.                              Non-Intelligent Digiboards
  777.                                    (COMDRV=NDIGI)
  778.  
  779.               The  Digiboard  DigiCHANNEL PC/16, PC/8,  and  PC/4  are
  780.               multi-channel  communications  boards  that  provide   a
  781.               serial  communications  subset for  IBM  and  compatible
  782.               computers.  Each  of  the  boards  supports  full  modem
  783.               control  on  each port. Up to two DigiCHANNEL  PC/16,  4
  784.               PC/4  or  PC/8  boards  can be  installed  on  a  single
  785.               computer providing up to 32 additional ports.
  786.  
  787.               To   insure  connection  flexibility,  3   options   are
  788.               available:
  789.  
  790.               1. An I/O mate connection box with external connections.
  791.  
  792.               2. An octopus cable with four or eight DB25 connectors.
  793.  
  794.               3.  An  RJ45  connection box with  eight  RJ45  or  RJ11
  795.               connectors.
  796.          Ymodem          Technical Reference Manual          Page  14
  797.  
  798.               The   DIGI  PC/4  and  PC/8  addressing  and   interrupt
  799.               selection  are flexibly and not limited to preset  IRQs,
  800.               address,  or  address  ranges.  The  user  may  set  DIP
  801.               switches to select different status registers (DS1)  and
  802.               I/O  port  addresses  (DS2 - DS9), as  well  as  setting
  803.               jumpers to select either one or two interrupts.
  804.  
  805.               The DIGI PC/16 offers hardware jumpers for selecting  an
  806.               interrupt  and  a PAL with preset I/O  port  and  status
  807.               register addresses.
  808.  
  809.               There  are  six possible system interrupts that  may  be
  810.               selected for the DIGI PC/X board: IRQ2 - IRQ7.  However,
  811.               IRQ3  and IRQ4 are commonly reserved for  standard  COM1
  812.               and COM2 serial hardware.
  813.  
  814.               If  multiple  boards are installed in one  system,  each
  815.               board is given a unique I.D. such as board 0 and board 1
  816.               by setting the board ID jumpers. The status register and
  817.               IRQ  of  ALL boards can be set to the same  values,  and
  818.               the  boards are daisy changed with special  cables  that
  819.               pass  signals  from the interrupt sequence.  When  daisy
  820.               chained,  the  boards are treated like  one  board.  The
  821.               boards  can  also be setup  independently  on  different
  822.               interrupts.
  823.  
  824.                             Setting Up  The Digi Pc/4 Board
  825.  
  826.                    The  COM/4  board  has 4  serial  interface  ports,
  827.                    individual address and interrupt settings, and  two
  828.                    8 bit status ports. It is preset and tested at  the
  829.                    factory  at IRQ3; address 100, 108, 110,  and  118;
  830.                    status port ON, and set to address 140. Check  your
  831.                    system for any peripherals that may use either  the
  832.                    preset  interrupt  or  addresses. If  there  is  no
  833.                    conflict,  you can install the COM/4 board  without
  834.                    modifications.  However,  if  you  need  to  change
  835.                    settings, details are provided below.
  836.  
  837.                                      Setting The Jumpers
  838.  
  839.                         Jumpers  1-4 are used to choose the  interrupt
  840.                         for each individual port.
  841.  
  842.                         For odd interrupts IRQ3, IRQ5, or IRQ7 set the
  843.                         shunt   between   pins  1  and   2   for   the
  844.                         corresponding  jumper.  For  even   interrupts
  845.                         IRQ2, IRQ4, or IRQ6 set the shunt between pins
  846.                         2 and 3 for the corresponding jumper. Ports  1
  847.                         through 4 map with jumpers 1-4 respectively.
  848.  
  849.  
  850.  
  851.          Ymodem          Technical Reference Manual          Page  15
  852.  
  853.                         J9  and  J10  are used to  set  the  board  ID
  854.                         number.  The  setting will depend  upon  which
  855.                         board  it represents. If more than  one  board
  856.                         is used in the system, each board must be  set
  857.                         to  a unique identification number. The  first
  858.                         board  should always be set to 0. If you  have
  859.                         daisy  changed more than one  board, you  will
  860.                         use  the  board #s 1-3. The  settings  are  as
  861.                         follows:
  862.  
  863.   Board #            J9                       J10
  864.   ------------------------------------------------------------
  865.     0        between pins 2 and 3     between pins 1 and 2
  866.     1        between pins 2 and 3     between pins 1 and 2
  867.     2        between pins 1 and 2     between pins 2 and 3
  868.     3        between pins 1 and 2     between pins 1 and 2
  869.  
  870.                         J85  through  J90  are used  to  select  which
  871.                         interrupt  the  board  will  use.  Set   these
  872.                         jumpers as follows:
  873.  
  874.                          IRQ#               Jumper#
  875.                          ---------------------------
  876.                          2                  J90
  877.                          3                  J85
  878.                          4                  J89
  879.                          5                  J86
  880.                          6                  J88
  881.                          7                  J87
  882.  
  883.                                     Multi-Board Connectors
  884.  
  885.                         P2 and P3 are jumpers used to daisy chain  two
  886.                         boards  together  using  a  special  DigiBoard
  887.                         cable. If you are only using one board,  place
  888.                         a  shunt  on  pins 2 and 3 of  both  of  these
  889.                         jumpers. This is VERY important. Without  this
  890.                         shunt, no interrupts will be received.
  891.  
  892.                                          Dip Switches
  893.  
  894.                         Address line A3 through A9 determine the  port
  895.                         address  and  are logic-selected  on  the  DIP
  896.                         switches  for  each  port  for  switches   DS3
  897.                         through  DS5. The DIP switches for  each  port
  898.                         can  be set to any NON-CONFLICTING address  in
  899.                         the I/O map from 0000H to 03FFH.
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.          Ymodem          Technical Reference Manual          Page  16
  907.  
  908.                         Switch positions 1-7 switch set the address of
  909.                         each port. Position 1 corresponds to A9, 2=A8,
  910.                         3=A7,  4=A6, 5=A5, 6=A4, 7=A3. Position  8  of
  911.                         each  switch enables or disables the port.  We
  912.                         recommend  assigning consecutive port  numbers
  913.                         for easy of use.
  914.  
  915.                         The  following table lists  suggested  address
  916.                         and   switch   settings  for   the   DigiBoard
  917.                         DigiCHANNEL PC/4 board:
  918.  
  919.    Port#   Base    Dip                  Switch Settings
  920.            Address Switch   1    2    3    4    5    6    7    8
  921.    ----------------------------------------------------------------
  922.     Status 140H    DS1      ON   OFF  ON   OFF  ON   ON   ON   ON
  923.     port
  924.    ----------------------------------------------------------------
  925.      1     100H    DS2      ON   OFF  ON   ON   ON   ON   ON   ON
  926.      2     108H    DS3      ON   OFF  ON   ON   ON   ON   OFF  ON
  927.      3     110H    DS4      ON   OFF  ON   ON   ON   OFF  ON   ON
  928.      4     118H    DS5      ON   OFF  ON   ON   ON   OFF  OFF  ON
  929.  
  930.                         Position   (Switch  setting  8)   enables   or
  931.                         disables the port where ON = enabled.
  932.  
  933.  
  934.                               Setting Up A Digiboard Pc/8
  935.  
  936.                    The   PC/8  board  has  eight   individual   ports,
  937.                    individual address and interrupt settings and two 8
  938.                    bit status ports.
  939.  
  940.                    The PC/8 board is preset and tested at the  factory
  941.                    using  IRQ3; address 100, 108,110, 118,  120,  128,
  942.                    130,  and  138; status port ON and set  to  address
  943.                    140.
  944.  
  945.                                      Setting The Jumpers
  946.  
  947.                         Jumpers J1-J8 are used to choose the interrupt
  948.                         for  each  port.  For  odd  interrupt  numbers
  949.                         including  IRQ3, IRQ5, or IRQ7, set the  shunt
  950.                         between  pin  1 and 2  for  the  corresponding
  951.                         jumper.
  952.  
  953.                         For  even  interrupts, set the  shunt  between
  954.                         pins  2 and 3. All ports HAVE to use the  same
  955.                         interrupt to work properly. Ports 1 through  8
  956.                         map to jumpers 1-8 respectively.
  957.  
  958.  
  959.  
  960.  
  961.          Ymodem          Technical Reference Manual          Page  17
  962.  
  963.                         J9  and  J10  are used to  set  the  board  ID
  964.                         number.  The  setting will depend  upon  which
  965.                         board  it represents. If more than  one  board
  966.                         is used in the system, each board must be  set
  967.                         to  a unique identification number. The  first
  968.                         board  should always be set to 0. If you  have
  969.                         daisy  changed more than one  board, you  will
  970.                         use  the  board #s 1-3. The  settings  are  as
  971.                         follows:
  972.  
  973.   Board #            J9                       J10
  974.   ------------------------------------------------------------
  975.     0        between pins 2 and 3     between pins 1 and 2
  976.     1        between pins 2 and 3     between pins 1 and 2
  977.     2        between pins 1 and 2     between pins 2 and 3
  978.     3        between pins 1 and 2     between pins 1 and 2
  979.  
  980.                         J85  through  J90  are used  to  select  which
  981.                         interrupt  the  board  will  use.  Set   these
  982.                         jumpers as follows:
  983.  
  984.     IRQ#               Jumper#
  985.     ---------------------------
  986.     2                  J90
  987.     3                  J85
  988.     4                  J89
  989.     5                  J86
  990.     6                  J88
  991.     7                  J87
  992.  
  993.                                     Multi-Board Connectors
  994.  
  995.                         P2 and P3 are jumpers used to daisy chain  two
  996.                         boards  together  using  a  special  DigiBoard
  997.                         cable. If you are only using one board,  place
  998.                         a  shunt  on  pins 2 and 3 of  both  of  these
  999.                         jumpers. This is VERY important. Without  this
  1000.                         shunt, no interrupts will be received.
  1001.  
  1002.                                          Dip Switches
  1003.  
  1004.                         Address line A3 through A9 determine the  port
  1005.                         address  and  are logic-selected  on  the  DIP
  1006.                         switches  for  each  port  for  switches   DS3
  1007.                         through  DS5. The DIP switches for  each  port
  1008.                         can  be set to any NON-CONFLICTING address  in
  1009.                         the I/O map from 0000H to 03FFH.
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.          Ymodem          Technical Reference Manual          Page  18
  1017.  
  1018.                         Switch positions 1-7 switch set the address of
  1019.                         each port. Position 1 corresponds to A9, 2=A8,
  1020.                         3=A7,  4=A6, 5=A5, 6=A4, 7=A3. Position  8  of
  1021.                         each  switch enables or disables the port.  We
  1022.                         recommend  assigning consecutive port  numbers
  1023.                         for easy of use.
  1024.  
  1025.                         The  following table lists  suggested  address
  1026.                         and   switch   settings  for   the   DigiBoard
  1027.                         DigiCHANNEL PC/8 board:
  1028.  
  1029.    Port#   Base    Dip                  Switch Settings
  1030.            Address Switch   1    2    3    4    5    6    7    8
  1031.    ----------------------------------------------------------------
  1032.     Status 140H    DS1      ON   OFF  ON   OFF  ON   ON   ON   ON
  1033.     port
  1034.    ----------------------------------------------------------------
  1035.      1     100H    DS2      ON   OFF  ON   ON   ON   ON   ON   ON
  1036.      2     108H    DS3      ON   OFF  ON   ON   ON   ON   OFF  ON
  1037.      3     110H    DS4      ON   OFF  ON   ON   ON   OFF  ON   ON
  1038.      4     118H    DS5      ON   OFF  ON   ON   ON   OFF  OFF  ON
  1039.      5     120H    DS6      ON   OFF  ON   ON   OFF  ON   ON   ON
  1040.      6     128H    DS7      ON   OFF  ON   ON   OFF  ON   OFF  ON
  1041.      7     130H    DS8      ON   OFF  ON   ON   OFF  OFF  ON   ON
  1042.      8     138H    DS9      ON   OFF  ON   ON   OFF  OFF  OFF  ON
  1043.  
  1044.                         Position   (Switch  setting  8)   enables   or
  1045.                         disables the port where ON = enabled.
  1046.  
  1047.  
  1048.                              Setting Up The Digiboard Pc/16
  1049.  
  1050.                    This  board  is, in most respects,  the  functional
  1051.                    equivalent of two DigiChannel PC/8 boards operating
  1052.                    together.  The  PC/16 features the same  method  of
  1053.                    interrupt  sequencing in hardware, sparing the  CPU
  1054.                    from having to POLL the individual ports. While the
  1055.                    PC/8  has several DIP switches and jumpers to  set,
  1056.                    the PC/16 has all addresses set in the hardware.
  1057.  
  1058.                    Default values are set at IRQ3, UART base address =
  1059.                    100h, and status register = 140H.
  1060.  
  1061.                    To install the board, set the jumpers including the
  1062.                    board  selection  jumper  and  the  IRQ   selection
  1063.                    jumper.
  1064.  
  1065.                    Check other peripherals for conflicts with the pre-
  1066.                    set addresses. If a conflict occurs, you will  HAVE
  1067.                    to change the I/O port on the OTHER device.
  1068.  
  1069.  
  1070.  
  1071.          Ymodem          Technical Reference Manual          Page  19
  1072.  
  1073.  
  1074.                    Connector  Jumper  P3 is used to  daisy  chain  two
  1075.                    boards together using a special Digiboard cable. If
  1076.                    you are only using one board, place a shunt on this
  1077.                    jumper.  It  is located  in  the  upper  right-hand
  1078.                    corner of the board.
  1079.  
  1080.                    Interrupt  Jumper J1 through J6 are used to  select
  1081.                    which interrupt the board will use. Set the jumpers
  1082.                    as follows
  1083.  
  1084.                     IRQ#           Set the shunt at Jumper #
  1085.                     ----------------------------------------
  1086.                     2                       J1
  1087.                     3                       J2
  1088.                     4                       J3
  1089.                     5                       J4
  1090.                     6                       J5
  1091.                     7                       J6
  1092.  
  1093.  
  1094.                    Set the BOARD I.D. Jumper J7 is used to number  the
  1095.                    board if you have more than one cascaded.
  1096.  
  1097.                    For  Board #0 set the shunt between pins 2  and  3.
  1098.                    For Board #1 set the shunt between pints 1 and 2.
  1099.  
  1100.  
  1101.               Telling Ymodem about the non-intelligent digiboard board
  1102.               requires  you  to create a SERIAL.CFG file in  the  same
  1103.               directory that houses Ymodem.exe.
  1104.  
  1105.               The  first  line  of this  file  contains  four  fields,
  1106.               separated by a single space.
  1107.  
  1108. <IRQ> <Shared_port_status> <First_Port_Number> <Port_Count>
  1109.  
  1110.               <IRQ> The IRQ line used by this board 3-7.
  1111.  
  1112.               <Shared_port_status>  Address  of the  status  port  (in
  1113.               HEX).
  1114.  
  1115.               <First_Port_Number> Number of the first port. This is an
  1116.               arbitrary port number.
  1117.  
  1118.               <Port_Count> Total number of ports on the board. Be sure
  1119.               to  put the correct total number of ports and  NOT  just
  1120.               the  number of ports you'll be USING. E.g. 4, 8, 16,  or
  1121.               32.
  1122.  
  1123.  
  1124.  
  1125.  
  1126.          Ymodem          Technical Reference Manual          Page  20
  1127.  
  1128.               The  Second  line  should contain  the  PORT  ADDRESSES,
  1129.               separated  by a single space, for each port on the  card
  1130.               (In HEX). If you defined Port_Count as 4, then you would
  1131.               have FOUR fields on this line. If you defined port count
  1132.               as 16 then Sixteen fields.
  1133.  
  1134.               Example, four port digiboard with default settings using
  1135.               COM5 as the first port number.
  1136.  
  1137.               {SERIAL.CFG}
  1138.  
  1139.               3 0x140 5 4
  1140.               0x100 0x108 0x110 0x118
  1141.  
  1142.                               Non-Intelligent Stargate
  1143.                                  (COMDRV=NSTARGATE)
  1144.  
  1145.               Telling Ymodem about the non-intelligent Star Gate board
  1146.               requires  you  to create a SERIAL.CFG file in  the  same
  1147.               directory that houses Ymodem.exe.
  1148.  
  1149.               Serial.cfg  contains  a  single  line  with  3   fields,
  1150.               separated by a single space.
  1151.  
  1152.               IRQ FIRST_PORT_NUMBER FIRST_PORT_ADDRESS
  1153.  
  1154.               IRQ  The IRQ line used by this board (2-7).
  1155.  
  1156.               FIRST_PORT_NUMBER  Number of the first port. This is  an
  1157.               arbitrary port number.
  1158.  
  1159.               FIRST_PORT_ADDRESS   Address (In HEX) of the first  UART
  1160.               on the board.
  1161.  
  1162.               Example:
  1163.  
  1164.               {SERIAL.CFG}
  1165.  
  1166.               3 5 0x180
  1167.  
  1168.                                 Non-Intelligent Ast
  1169.                                     (COMDRV=AST)
  1170.  
  1171.               Telling  Ymodem  about  the  non-intelligent  AST  board
  1172.               requires  you  to create a SERIAL.CFG file in  the  same
  1173.               directory that houses Ymodem.exe.
  1174.  
  1175.               Serial.cfg  contains  a  single  line  with  3   fields,
  1176.               separated by a single space.
  1177.  
  1178.               IRQ FIRST_PORT_NUMBER FIRST_PORT_ADDRESS
  1179.  
  1180.  
  1181.          Ymodem          Technical Reference Manual          Page  21
  1182.  
  1183.               IRQ  The IRQ line used by this board (2-7).
  1184.  
  1185.               FIRST_PORT_NUMBER  Number of the first port. This is  an
  1186.               arbitrary port number.
  1187.  
  1188.               FIRST_PORT_ADDRESS   Address (In HEX) of the first  UART
  1189.               on the board.
  1190.  
  1191.               Example:
  1192.  
  1193.               {SERIAL.CFG}
  1194.  
  1195.               3 5 0x1a0
  1196.  
  1197.                                 Non-Intelligent Boca
  1198.                                    (COMDRV=BOCA)
  1199.  
  1200.               Telling  Ymodem  about the  non-intelligent  BOCA  board
  1201.               requires  you  to create a SERIAL.CFG file in  the  same
  1202.               directory that houses Ymodem.exe.
  1203.  
  1204.               Serial.cfg  contains  a  single  line  with  4   fields,
  1205.               separated by a single space.
  1206.  
  1207.               IRQ FIRST_PORT_NUMBER PORT_COUNT FIRST_PORT_ADDRESS
  1208.  
  1209.               IRQ  The IRQ line used by this board (2-7).
  1210.  
  1211.               FIRST_PORT_NUMBER  Number of the first port. This is  an
  1212.               arbitrary port number.
  1213.  
  1214.               PORT_COUNT Total number of ports on the board (4 or 8).
  1215.  
  1216.               FIRST_PORT_ADDRESS   Address (In HEX) of the first  UART
  1217.               on the board.
  1218.  
  1219.               Example:
  1220.  
  1221.               {SERIAL.CFG}
  1222.  
  1223.               3 5 4 0x180
  1224.  
  1225.                            8259 Interrupt Management
  1226.  
  1227.          The interrupt manager automatically assigns priority to  each
  1228.          of  the systems interrupts. The timer counter, keyboard,  and
  1229.          cascaded interrupt all have higher priority than the UART.
  1230.  
  1231.          To  gain  the  MAXIMUM  throughput  (especially  when  multi-
  1232.          tasking),  we suggest that you allow Ymodem to alter the  IRQ
  1233.          manager so the UART has the highest priority.
  1234.  
  1235.  
  1236.          Ymodem          Technical Reference Manual          Page  22
  1237.  
  1238.          You can do this using the environment variable 8259=IRQ{1-7}
  1239.  
  1240.          Examples:
  1241.  
  1242.          8259=IRQ4
  1243.          8259=IRQ3
  1244.  
  1245.          Keep  in  mind that only ONE of the uarts  (in  a  multi-uart
  1246.          environment) can be switched to the HIGHEST priority,  select
  1247.          the one that contains the fastest modem.
  1248.  
  1249.          Intelligent Multi-port cards use a single shared IRQ. This is
  1250.          the one you want to give highest priority to.
  1251.  
  1252.  
  1253.                              Registering Ymodem
  1254.  
  1255.          Fill out the Order.Frm and Mail To :
  1256.  
  1257.                         International TeleCommunications
  1258.                                 302 McKinkley
  1259.                            Poplar Bluff Mo. 63901
  1260.  
  1261.  
  1262.          Ymodem          Technical Reference Manual          Page  23
  1263.  
  1264.                                Ymodem License
  1265.  
  1266.                              Please Read Carefully
  1267.  
  1268.          WHEN you register Ymodem, you indicate your   acceptance   of
  1269.          these terms.
  1270.  
  1271.          1. License Grant. International TeleCommunications will grant
  1272.          you  a non-exclusive license to use one copy of Ymodem  on  a
  1273.          single  computer or on a single terminal connect to a  single
  1274.          computer. Neither concurrent use on two or more computers nor
  1275.          use  in a local area network is authorized  without  advanced
  1276.          written  consent of International TeleCommunications and  the
  1277.          payment of additional license fees.
  1278.  
  1279.          2. International TeleCommunications' Rights. You  acknowledge
  1280.          and   agree   that  Ymodem  is  a  proprietary   product   of
  1281.          International   TeleCommunications,   protected   under   U.S
  1282.          copyright  law,  international treaty provisions,  and  trade
  1283.          secret laws of general applicability. You further acknowledge
  1284.          and  agree  that all rights, title, and interest  in  and  to
  1285.          Ymodem    are   and   shall   remain    with    International
  1286.          TeleCommunications.
  1287.  
  1288.          3. Other Restrictions. You may not lease or rent Ymodem.  You
  1289.          may not disassemble, decompile, or reverse engineer Ymodem.
  1290.  
  1291.          4.   Ymodem   is  licensed  "AS   IS,"   and    International
  1292.          TeleCommunications disclaims any and all warranties,  whether
  1293.          express  or  implied,  including  (without  limitation)   any
  1294.          implied  warranties  of  merchantablity  or  fitness  for   a
  1295.          particular purpose.
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.          Ymodem          Technical Reference Manual          Page  25
  1305.  
  1306.          5. Limitation of Liability. International TeleCommunications'
  1307.          cumulative  liability to you or any other party for any  loss
  1308.          or  damage  resulting from any claims,  demands,  or  actions
  1309.          arising out of or relating to this agreement shall not exceed
  1310.          the license fee paid to International TeleCommunications  for
  1311.          the   use  of  Ymodem.  In  no  event   shall   International
  1312.          TeleCommunications  be liable for any  indirect,  incidental,
  1313.          consequential, special, or exemplary damages or lost profits,
  1314.          even if International TeleCommunications has been advised  of
  1315.          the possibility of such damages. Some states do not allow the
  1316.          limitation  or  exclusion  of  liability  for  incidental  or
  1317.          consequential  damages, so the above limitation or  exclusion
  1318.          may not apply to you.
  1319.  
  1320.          6.  Governing Law. This license agreement shall be  construed
  1321.          and  governed  in accordance with the laws of  the  State  of
  1322.          Missouri.
  1323.  
  1324.          7. Severability. Shall any term of this license agreement  be
  1325.          declared  void  or unenforceable by any  court  of  competent
  1326.          jurisdiction,  such declaration shall have no effect  on  the
  1327.          remaining terms hereof.
  1328.  
  1329.